from .models import Sku, skuAndAttribute, attribute
"""
    此方案耗费了大量的时间，吃一堑长一智，拆分来做，应该先完成分组，在进行格式
"""
def get_spec_list(all_attributes):
    # 获取所有的属性
    # 用于存储最终结果的列表
    spec_list = []
    # 用于存储每个属性名对应的属性值集合
    attribute_dict = {}
    # 遍历所有属性，将属性值按属性名分组
    for attr in all_attributes:
        # 如果属性名不存在于字典中，则创建一个空列表
        if attr.name not in attribute_dict:
            # 将属性值添加到对应的列表中  attribute_dict[“颜色”]=[]
            attribute_dict[attr.name] = []
        # 如果属性名存在于字典中，则按字典属性名添加
        attribute_dict[attr.name].append({'name': attr.value})
    print(attribute_dict)
    # 将分组后的数据整理成所需的格式
    for attr_name, attr_values in attribute_dict.items():
        spec_list.append({
            'name': attr_name,
            'list': attr_values
        })
    return spec_list
